#ifndef DATAGRID_H
#define DATAGRID_H

#include <gtkmm/liststore.h>
#include <gtkmm/treeview.h>
#include <gtkmm/box.h>

#include "ModeloColumnas.h"


class DataGrid : public Gtk::Box {
	private:
		// El modelo de datos de las columnas de la "grilla"
		ModeloColumnas _modelCols;
		Glib::RefPtr<Gtk::ListStore> _refModeloDatos;

		// La "Grilla" de datos
		Gtk::TreeView _grilla;
	public:
		DataGrid(std::string encabezado1, std::string encabezado2);
		~DataGrid();

		// Agrega una fila vacia
		void agregarFila();

		// Agrega una fila con los datos indicados
		void agregarFila(std::string a, std::string b);

		// Elimina la fila actualmente seleccionada, false si falló
		bool eliminarFilaSeleccionada();

		// Elimina todas las filas
		void eliminarTodasFilas();

		// Obtiene los datos de la fila señalada, devuelve false si la fila no existe
		bool obtenerFila(int pos, std::string& a, std::string& b);
};


#endif
